package cn.edu.nwsuaf.examcenter.dao;
import java.io.Serializable;
import java.util.*;

/****
 * 功能定义基础的Dao接口
 * @author Fantacy
 *
 * @param <T>
 */
public interface IBaseDao<T> {
	
	public List<T> findAll(Class<T> c);//查询所有的数据
	public List<T> findDataByPage(String hql, String[] param, int currentpage, int rows);//分页HQL查询
	public T getById(Class<T> c, Serializable id);
	public T loadById(Class<T>c, Serializable id);
	public List<T> findByHql(String hql,String[] param);
	
	/*重载方法获取数据的条数*/
	public int countData(Class<T> c);
	public int countData(String hql, String[] param);
	
	
	public void singleDataInsert(T t);/*单个数据插入*/
	public void batchDataInsert(List<T> tList);/*批量插入*/
	
	public void singleDataDelete(T t);/*单个数据删除*/
	public void batchDataDelete(List<T> tList);/*批量删除*/
	
	public void singleDataUpdate(T t);/*单个数据更新*/
	public void batchDataUpdate(List<T> tList);/*批量更新*/
}
